import java.util.Arrays;

/**
 * @author VernHe
 * @date 2021年04月22日 14:33
 */
public class Solution_0455 {
    public static void main(String[] args) {
        System.out.println(
                new Solution_0455().findContentChildren(new int[]{1,2}, new int[]{1,2,3}));
    }

    public int findContentChildren(int[] g, int[] s) {
        // 记录以未被满足的孩子的数量
        int childNum = g.length;
        // 记录可分配的饼干数量
        int cookyNum = s.length;
        // 升序排列
        Arrays.sort(g);
        Arrays.sort(s);
        // 记录孩子和饼干的下标
        int i = 0,j = 0;
        // 记录被满足的孩子的数量
        int result = 0;
        while (childNum != 0 && cookyNum != 0) {
            // 当还有孩子没有被满足并且还有饼干可分配的时候

            if (g[i] > s[j]) {
                // 如果最小的饼干满足不了胃口最小的孩子
                j++;
                // 可分配的饼干数减少
                cookyNum--;
                continue;
            }
            // 如果当前最小的饼干可以满足胃口最小的孩子
            childNum--;
            cookyNum--;
            i++;
            j++;
            result++;
        }
        return result;
    }
}
